<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>PowerVR SDK</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<table width="100%">
  <tr>
    <td width="33%">
      <p align="left">&nbsp;<a href="http://www.imgtec.com"><img border="0" src="IMGLogo.jpg" width="200" height="30"></a></p>
    </td>
    <td width="33%">
      <p align="center"><font color="#808080" face="Arial" size="2">PowerVR Software Development Kit</a></font></p>
    </td>
    <td width="34%">
      <p align="right"><a href="http://www.powervr.com"><img border="0" src="PVRlogo.jpg" width="200" height="27"></a></p>
    </td>
  </tr>
</table>
<hr>
</head><body>
<!-- Generated by Doxygen 1.3.6 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>PVRTPFXParser.h</h1><a href="PVRTPFXParser_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/******************************************************************************</span>
00002 <span class="comment"></span>
00003 <span class="comment"> @File         PVRTPFXParser.h</span>
00004 <span class="comment"></span>
00005 <span class="comment"> @Title        PVRTPFXParser</span>
00006 <span class="comment"></span>
00007 <span class="comment"> @Version      </span>
00008 <span class="comment"></span>
00009 <span class="comment"> @Copyright    Copyright (C)  Imagination Technologies Limited.</span>
00010 <span class="comment"></span>
00011 <span class="comment"> @Platform     Windows + Linux</span>
00012 <span class="comment"></span>
00013 <span class="comment"> @Description  Declaration of PFX file parser</span>
00014 <span class="comment"></span>
00015 <span class="comment">******************************************************************************/</span>
00016 
00017 <span class="preprocessor">#ifndef _PVRTPFXPARSER_H_</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define _PVRTPFXPARSER_H_</span>
00019 <span class="preprocessor"></span>
00020 
00021 <span class="comment">/*****************************************************************************</span>
00022 <span class="comment">** Includes</span>
00023 <span class="comment">******************************************************************************/</span>
00024 
00025 <span class="preprocessor">#include "<a class="code" href="PVRTString_8h.html">PVRTString.h</a>"</span>
00026 <span class="preprocessor">#include "<a class="code" href="PVRTError_8h.html">PVRTError.h</a>"</span>
00027 <span class="preprocessor">#include "<a class="code" href="PVRTTexture_8h.html">PVRTTexture.h</a>"</span>
00028 <span class="preprocessor">#include "<a class="code" href="PVRTVector_8h.html">PVRTVector.h</a>"</span>
00029 
00030 <span class="comment">/****************************************************************************</span>
00031 <span class="comment">** Structures</span>
00032 <span class="comment">****************************************************************************/</span>
00033 <span class="comment">/*!**************************************************************************</span>
00034 <span class="comment">@Struct SPVRTPFXParserHeader</span>
00035 <span class="comment">@Brief  Struct for storing PFX file header data</span>
00036 <span class="comment">****************************************************************************/</span>
<a name="l00037"></a><a class="code" href="structSPVRTPFXParserHeader.html">00037</a> <span class="keyword">struct </span><a class="code" href="structSPVRTPFXParserHeader.html">SPVRTPFXParserHeader</a>
00038 {
<a name="l00039"></a><a class="code" href="structSPVRTPFXParserHeader.html#o0">00039</a>     <span class="keywordtype">char</span>    *<a class="code" href="structSPVRTPFXParserHeader.html#o0">pszVersion</a>;
<a name="l00040"></a><a class="code" href="structSPVRTPFXParserHeader.html#o1">00040</a>     <span class="keywordtype">char</span>    *<a class="code" href="structSPVRTPFXParserHeader.html#o1">pszDescription</a>;
<a name="l00041"></a><a class="code" href="structSPVRTPFXParserHeader.html#o2">00041</a>     <span class="keywordtype">char</span>    *<a class="code" href="structSPVRTPFXParserHeader.html#o2">pszCopyright</a>;
00042 };
00043 
00044 <span class="comment">/*!**************************************************************************</span>
00045 <span class="comment">@Struct SPVRTPFXParserTexture</span>
00046 <span class="comment">@Brief  Struct for storing PFX data from the texture block</span>
00047 <span class="comment">****************************************************************************/</span>
<a name="l00048"></a><a class="code" href="structSPVRTPFXParserTexture.html">00048</a> <span class="keyword">struct </span><a class="code" href="structSPVRTPFXParserTexture.html">SPVRTPFXParserTexture</a>
00049 {
<a name="l00050"></a><a class="code" href="structSPVRTPFXParserTexture.html#o0">00050</a>     <span class="keywordtype">char</span>            *pszName;
<a name="l00051"></a><a class="code" href="structSPVRTPFXParserTexture.html#o1">00051</a>     <span class="keywordtype">char</span>            *<a class="code" href="structSPVRTPFXParserTexture.html#o1">pszFile</a>;
<a name="l00052"></a><a class="code" href="structSPVRTPFXParserTexture.html#o2">00052</a>     <span class="keywordtype">bool</span>            <a class="code" href="structSPVRTPFXParserTexture.html#o2">bRenderToTexture</a>;
<a name="l00053"></a><a class="code" href="structSPVRTPFXParserTexture.html#o5">00053</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>    <a class="code" href="structSPVRTPFXParserTexture.html#o3">nMin</a>, <a class="code" href="structSPVRTPFXParserTexture.html#o4">nMag</a>, <a class="code" href="structSPVRTPFXParserTexture.html#o5">nMIP</a>;
<a name="l00054"></a><a class="code" href="structSPVRTPFXParserTexture.html#o7">00054</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>    <a class="code" href="structSPVRTPFXParserTexture.html#o6">nWrapS</a>, <a class="code" href="structSPVRTPFXParserTexture.html#o7">nWrapT</a>, <a class="code" href="structSPVRTPFXParserTexture.html#o8">nWrapR</a>; <span class="comment">// either GL_CLAMP or GL_REPEAT</span>
<a name="l00055"></a><a class="code" href="structSPVRTPFXParserTexture.html#o9">00055</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>    <a class="code" href="structSPVRTPFXParserTexture.html#o9">uiWidth</a>, <a class="code" href="structSPVRTPFXParserTexture.html#o10">uiHeight</a>;
<a name="l00056"></a><a class="code" href="structSPVRTPFXParserTexture.html#o11">00056</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>    <a class="code" href="structSPVRTPFXParserTexture.html#o11">uiFlags</a>;
00057 
<a name="l00058"></a><a class="code" href="structSPVRTPFXParserTexture.html#a0">00058</a>     <a class="code" href="structSPVRTPFXParserTexture.html#a0">SPVRTPFXParserTexture</a>()
00059     :
00060     pszName(NULL),
00061     <a class="code" href="structSPVRTPFXParserTexture.html#o1">pszFile</a>(NULL)
00062     {
00063     }
00064 };
00065 
00066 <span class="comment">/*!**************************************************************************</span>
00067 <span class="comment">@Struct SPVRTPFXParserShader</span>
00068 <span class="comment">@Brief  Struct for storing PFX data from the shader block</span>
00069 <span class="comment">****************************************************************************/</span>
<a name="l00070"></a><a class="code" href="structSPVRTPFXParserShader.html">00070</a> <span class="keyword">struct </span><a class="code" href="structSPVRTPFXParserShader.html">SPVRTPFXParserShader</a>
00071 {
<a name="l00072"></a><a class="code" href="structSPVRTPFXParserShader.html#o0">00072</a>     <span class="keywordtype">char</span>            *pszName;
<a name="l00073"></a><a class="code" href="structSPVRTPFXParserShader.html#o1">00073</a>     <span class="keywordtype">bool</span>            <a class="code" href="structSPVRTPFXParserShader.html#o1">bUseFileName</a>;
<a name="l00074"></a><a class="code" href="structSPVRTPFXParserShader.html#o2">00074</a>     <span class="keywordtype">char</span>            *<a class="code" href="structSPVRTPFXParserShader.html#o2">pszGLSLfile</a>;
<a name="l00075"></a><a class="code" href="structSPVRTPFXParserShader.html#o3">00075</a>     <span class="keywordtype">char</span>            *<a class="code" href="structSPVRTPFXParserShader.html#o3">pszGLSLBinaryFile</a>;
<a name="l00076"></a><a class="code" href="structSPVRTPFXParserShader.html#o4">00076</a>     <span class="keywordtype">char</span>            *<a class="code" href="structSPVRTPFXParserShader.html#o4">pszGLSLcode</a>;
<a name="l00077"></a><a class="code" href="structSPVRTPFXParserShader.html#o5">00077</a>     <span class="keywordtype">char</span>            *<a class="code" href="structSPVRTPFXParserShader.html#o5">pbGLSLBinary</a>;
<a name="l00078"></a><a class="code" href="structSPVRTPFXParserShader.html#o6">00078</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>    <a class="code" href="structSPVRTPFXParserShader.html#o6">nGLSLBinarySize</a>;
<a name="l00079"></a><a class="code" href="structSPVRTPFXParserShader.html#o7">00079</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>    <a class="code" href="structSPVRTPFXParserShader.html#o7">nFirstLineNumber</a>;   <span class="comment">// Line number in the text file where this code began; use to correct line-numbers in compiler errors</span>
00080 };
00081 
00082 <span class="comment">/*!**************************************************************************</span>
00083 <span class="comment">@Enum ESemanticDefaultDataType</span>
00084 <span class="comment">@Brief  Enum values for the various variable types supported</span>
00085 <span class="comment">****************************************************************************/</span>
<a name="l00086"></a><a class="code" href="PVRTPFXParser_8h.html#a29">00086</a> <span class="keyword">enum</span> <a class="code" href="PVRTPFXParser_8h.html#a29">ESemanticDefaultDataType</a>
00087 {
00088     <a class="code" href="PVRTPFXParser_8h.html#a29a2">eDataTypeMat2</a>,
00089     <a class="code" href="PVRTPFXParser_8h.html#a29a3">eDataTypeMat3</a>,
00090     <a class="code" href="PVRTPFXParser_8h.html#a29a4">eDataTypeMat4</a>,
00091     <a class="code" href="PVRTPFXParser_8h.html#a29a5">eDataTypeVec2</a>,
00092     <a class="code" href="PVRTPFXParser_8h.html#a29a6">eDataTypeVec3</a>,
00093     <a class="code" href="PVRTPFXParser_8h.html#a29a7">eDataTypeVec4</a>,
00094     <a class="code" href="PVRTPFXParser_8h.html#a29a8">eDataTypeIvec2</a>,
00095     <a class="code" href="PVRTPFXParser_8h.html#a29a9">eDataTypeIvec3</a>,
00096     <a class="code" href="PVRTPFXParser_8h.html#a29a10">eDataTypeIvec4</a>,
00097     <a class="code" href="PVRTPFXParser_8h.html#a29a11">eDataTypeBvec2</a>,
00098     <a class="code" href="PVRTPFXParser_8h.html#a29a12">eDataTypeBvec3</a>,
00099     <a class="code" href="PVRTPFXParser_8h.html#a29a13">eDataTypeBvec4</a>,
00100     <a class="code" href="PVRTPFXParser_8h.html#a29a14">eDataTypeFloat</a>,
00101     <a class="code" href="PVRTPFXParser_8h.html#a29a15">eDataTypeInt</a>,
00102     <a class="code" href="PVRTPFXParser_8h.html#a29a16">eDataTypeBool</a>,
00103 
00104     <a class="code" href="PVRTPFXParser_8h.html#a29a17">eNumDefaultDataTypes</a>,
00105     <a class="code" href="PVRTPFXParser_8h.html#a29a18">eDataTypeNone</a>
00106 };
00107 
00108 <span class="comment">/*!**************************************************************************</span>
00109 <span class="comment">@Enum   EDefaultDataInternalType</span>
00110 <span class="comment">@Brief  Enum values for defining whether a variable is float, interger or bool</span>
00111 <span class="comment">****************************************************************************/</span>
<a name="l00112"></a><a class="code" href="PVRTPFXParser_8h.html#a30">00112</a> <span class="keyword">enum</span> <a class="code" href="PVRTPFXParser_8h.html#a30">EDefaultDataInternalType</a>
00113 {
00114     <a class="code" href="PVRTPFXParser_8h.html#a30a19">eFloating</a>,
00115     <a class="code" href="PVRTPFXParser_8h.html#a30a20">eInteger</a>,
00116     <a class="code" href="PVRTPFXParser_8h.html#a30a21">eBoolean</a>
00117 };
00118 
<a name="l00119"></a><a class="code" href="structSSemanticDefaultDataTypeInfo.html">00119</a> <span class="keyword">struct </span><a class="code" href="structSSemanticDefaultDataTypeInfo.html">SSemanticDefaultDataTypeInfo</a>
00120 {
<a name="l00121"></a><a class="code" href="structSSemanticDefaultDataTypeInfo.html#o0">00121</a>     <a class="code" href="PVRTPFXParser_8h.html#a29">ESemanticDefaultDataType</a>    eType;
<a name="l00122"></a><a class="code" href="structSSemanticDefaultDataTypeInfo.html#o1">00122</a>     <span class="keyword">const</span> <span class="keywordtype">char</span>                      *pszName;
<a name="l00123"></a><a class="code" href="structSSemanticDefaultDataTypeInfo.html#o2">00123</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>                <a class="code" href="structSSemanticDefaultDataTypeInfo.html#o2">nNumberDataItems</a>;
<a name="l00124"></a><a class="code" href="structSSemanticDefaultDataTypeInfo.html#o3">00124</a>     <a class="code" href="PVRTPFXParser_8h.html#a30">EDefaultDataInternalType</a>    <a class="code" href="structSSemanticDefaultDataTypeInfo.html#o3">eInternalType</a>;
00125 };
00126 
00127 <span class="keyword">const</span> <span class="keyword">static</span> <a class="code" href="structSSemanticDefaultDataTypeInfo.html">SSemanticDefaultDataTypeInfo</a> c_psSemanticDefaultDataTypeInfo[] =
00128 {
00129     { <a class="code" href="PVRTPFXParser_8h.html#a29a2">eDataTypeMat2</a>,        <span class="stringliteral">"mat2"</span>,         4,      <a class="code" href="PVRTPFXParser_8h.html#a30a19">eFloating</a> },
00130     { <a class="code" href="PVRTPFXParser_8h.html#a29a3">eDataTypeMat3</a>,        <span class="stringliteral">"mat3"</span>,         9,      <a class="code" href="PVRTPFXParser_8h.html#a30a19">eFloating</a> },
00131     { <a class="code" href="PVRTPFXParser_8h.html#a29a4">eDataTypeMat4</a>,        <span class="stringliteral">"mat4"</span>,         16,     <a class="code" href="PVRTPFXParser_8h.html#a30a19">eFloating</a> },
00132     { <a class="code" href="PVRTPFXParser_8h.html#a29a5">eDataTypeVec2</a>,        <span class="stringliteral">"vec2"</span>,         2,      <a class="code" href="PVRTPFXParser_8h.html#a30a19">eFloating</a> },
00133     { <a class="code" href="PVRTPFXParser_8h.html#a29a6">eDataTypeVec3</a>,        <span class="stringliteral">"vec3"</span>,         3,      <a class="code" href="PVRTPFXParser_8h.html#a30a19">eFloating</a> },
00134     { <a class="code" href="PVRTPFXParser_8h.html#a29a7">eDataTypeVec4</a>,        <span class="stringliteral">"vec4"</span>,         4,      <a class="code" href="PVRTPFXParser_8h.html#a30a19">eFloating</a> },
00135     { <a class="code" href="PVRTPFXParser_8h.html#a29a8">eDataTypeIvec2</a>,       <span class="stringliteral">"ivec2"</span>,        2,      <a class="code" href="PVRTPFXParser_8h.html#a30a20">eInteger</a> },
00136     { <a class="code" href="PVRTPFXParser_8h.html#a29a9">eDataTypeIvec3</a>,       <span class="stringliteral">"ivec3"</span>,        3,      <a class="code" href="PVRTPFXParser_8h.html#a30a20">eInteger</a> },
00137     { <a class="code" href="PVRTPFXParser_8h.html#a29a10">eDataTypeIvec4</a>,       <span class="stringliteral">"ivec4"</span>,        4,      <a class="code" href="PVRTPFXParser_8h.html#a30a20">eInteger</a> },
00138     { <a class="code" href="PVRTPFXParser_8h.html#a29a11">eDataTypeBvec2</a>,       <span class="stringliteral">"bvec2"</span>,        2,      <a class="code" href="PVRTPFXParser_8h.html#a30a21">eBoolean</a> },
00139     { <a class="code" href="PVRTPFXParser_8h.html#a29a12">eDataTypeBvec3</a>,       <span class="stringliteral">"bvec3"</span>,        3,      <a class="code" href="PVRTPFXParser_8h.html#a30a21">eBoolean</a> },
00140     { <a class="code" href="PVRTPFXParser_8h.html#a29a13">eDataTypeBvec4</a>,       <span class="stringliteral">"bvec4"</span>,        4,      <a class="code" href="PVRTPFXParser_8h.html#a30a21">eBoolean</a> },
00141     { <a class="code" href="PVRTPFXParser_8h.html#a29a14">eDataTypeFloat</a>,       <span class="stringliteral">"float"</span>,        1,      <a class="code" href="PVRTPFXParser_8h.html#a30a19">eFloating</a> },
00142     { <a class="code" href="PVRTPFXParser_8h.html#a29a15">eDataTypeInt</a>,         <span class="stringliteral">"int"</span>,          1,      <a class="code" href="PVRTPFXParser_8h.html#a30a20">eInteger</a> },
00143     { <a class="code" href="PVRTPFXParser_8h.html#a29a16">eDataTypeBool</a>,        <span class="stringliteral">"bool"</span>,         1,      <a class="code" href="PVRTPFXParser_8h.html#a30a21">eBoolean</a> }
00144 };
00145 
00146 <span class="comment">/*!**************************************************************************</span>
00147 <span class="comment">@Struct SPVRTSemanticDefaultData</span>
00148 <span class="comment">@Brief  Stores a default value</span>
00149 <span class="comment">****************************************************************************/</span>
<a name="l00150"></a><a class="code" href="structSPVRTSemanticDefaultData.html">00150</a> <span class="keyword">struct </span><a class="code" href="structSPVRTSemanticDefaultData.html">SPVRTSemanticDefaultData</a>
00151 {
<a name="l00152"></a><a class="code" href="structSPVRTSemanticDefaultData.html#o0">00152</a>     <span class="keywordtype">float</span>                       <a class="code" href="structSPVRTSemanticDefaultData.html#o0">pfData</a>[16];
<a name="l00153"></a><a class="code" href="structSPVRTSemanticDefaultData.html#o1">00153</a>     <span class="keywordtype">int</span>                         <a class="code" href="structSPVRTSemanticDefaultData.html#o1">pnData</a>[4];
<a name="l00154"></a><a class="code" href="structSPVRTSemanticDefaultData.html#o2">00154</a>     <span class="keywordtype">bool</span>                        <a class="code" href="structSPVRTSemanticDefaultData.html#o2">pbData</a>[4];
<a name="l00155"></a><a class="code" href="structSPVRTSemanticDefaultData.html#o3">00155</a>     <a class="code" href="PVRTPFXParser_8h.html#a29">ESemanticDefaultDataType</a>    eType;
00156 };
00157 
00158 <span class="comment">/*!**************************************************************************</span>
00159 <span class="comment">@Struct SPVRTPFXParserSemantic</span>
00160 <span class="comment">@Brief  Stores semantic information</span>
00161 <span class="comment">****************************************************************************/</span>
<a name="l00162"></a><a class="code" href="structSPVRTPFXParserSemantic.html">00162</a> <span class="keyword">struct </span><a class="code" href="structSPVRTPFXParserSemantic.html">SPVRTPFXParserSemantic</a>
00163 {
<a name="l00164"></a><a class="code" href="structSPVRTPFXParserSemantic.html#o0">00164</a>     <span class="keywordtype">char</span>                        *pszName;   
<a name="l00165"></a><a class="code" href="structSPVRTPFXParserSemantic.html#o1">00165</a>     <span class="keywordtype">char</span>                        *<a class="code" href="structSPVRTPFXParserSemantic.html#o1">pszValue</a>;  
<a name="l00166"></a><a class="code" href="structSPVRTPFXParserSemantic.html#o2">00166</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>                nIdx;       
<a name="l00167"></a><a class="code" href="structSPVRTPFXParserSemantic.html#o3">00167</a>     <a class="code" href="structSPVRTSemanticDefaultData.html">SPVRTSemanticDefaultData</a>    <a class="code" href="structSPVRTPFXParserSemantic.html#o3">sDefaultValue</a>; 
00168 };
00169 
00170 <span class="comment">/*!**************************************************************************</span>
00171 <span class="comment">@Struct SPVRTPFXParserEffectTexture</span>
00172 <span class="comment">@Brief  Stores effect texture information</span>
00173 <span class="comment">****************************************************************************/</span>
<a name="l00174"></a><a class="code" href="structSPVRTPFXParserEffectTexture.html">00174</a> <span class="keyword">struct </span><a class="code" href="structSPVRTPFXParserEffectTexture.html">SPVRTPFXParserEffectTexture</a>
00175 {
<a name="l00176"></a><a class="code" href="structSPVRTPFXParserEffectTexture.html#o0">00176</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>                <a class="code" href="structSPVRTPFXParserEffectTexture.html#o0">nNumber</a>;    
<a name="l00177"></a><a class="code" href="structSPVRTPFXParserEffectTexture.html#o1">00177</a>     <span class="keywordtype">char</span>                        *pszName;   
<a name="l00178"></a><a class="code" href="structSPVRTPFXParserEffectTexture.html#o2">00178</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>                <a class="code" href="structSPVRTPFXParserEffectTexture.html#o2">u32Type</a>;    
00179 };
00180 
00181 <span class="comment">/*!**************************************************************************</span>
00182 <span class="comment">@enum   ERenderPassType</span>
00183 <span class="comment">@Brief  Decribes the type of render required</span>
00184 <span class="comment">****************************************************************************/</span>
<a name="l00185"></a><a class="code" href="PVRTPFXParser_8h.html#a31">00185</a> <span class="keyword">enum</span> <a class="code" href="PVRTPFXParser_8h.html#a31">ERenderPassType</a>
00186 {
00187     <a class="code" href="PVRTPFXParser_8h.html#a31a22">eCubeMapRender</a>,
00188     <a class="code" href="PVRTPFXParser_8h.html#a31a23">eSphMapRender</a>,
00189     <a class="code" href="PVRTPFXParser_8h.html#a31a24">eCameraRender</a>,
00190     <a class="code" href="PVRTPFXParser_8h.html#a31a25">ePostProcessRender</a>
00191 };
00192 
<a name="l00193"></a><a class="code" href="PVRTPFXParser_8h.html#a32">00193</a> <span class="keyword">enum</span> <a class="code" href="PVRTPFXParser_8h.html#a32">ERenderPassCamera</a>
00194 {
00195     <a class="code" href="PVRTPFXParser_8h.html#a32a26">eFromNode</a>,
00196     <a class="code" href="PVRTPFXParser_8h.html#a32a27">eFromExplicitPositon</a>,
00197     <a class="code" href="PVRTPFXParser_8h.html#a32a28">eFromCenterOfCurrent</a>
00198 };
00199 
<a name="l00200"></a><a class="code" href="PVRTPFXParser_8h.html#a1">00200</a> <span class="keyword">enum</span> <a class="code" href="PVRTPFXParser_8h.html#a1">PixelType</a>;
00201 
00202 <span class="comment">/*!**************************************************************************</span>
00203 <span class="comment">@Struct SPVRTPFXRenderPass</span>
00204 <span class="comment">@Brief  Stores render pass information</span>
00205 <span class="comment">****************************************************************************/</span>
<a name="l00206"></a><a class="code" href="structSPVRTPFXRenderPass.html">00206</a> <span class="keyword">struct </span><a class="code" href="structSPVRTPFXRenderPass.html">SPVRTPFXRenderPass</a>
00207 {
<a name="l00208"></a><a class="code" href="structSPVRTPFXRenderPass.html#o0">00208</a>     <span class="keywordtype">int</span>                 <a class="code" href="structSPVRTPFXRenderPass.html#o0">i32TextureNumber</a>;   <span class="comment">// Element no within parser texture array</span>
<a name="l00209"></a><a class="code" href="structSPVRTPFXRenderPass.html#o1">00209</a>     <a class="code" href="PVRTPFXParser_8h.html#a31">ERenderPassType</a>     <a class="code" href="structSPVRTPFXRenderPass.html#o1">eRenderPassType</a>;
<a name="l00210"></a><a class="code" href="structSPVRTPFXRenderPass.html#o2">00210</a>     <a class="code" href="PVRTPFXParser_8h.html#a32">ERenderPassCamera</a>   <a class="code" href="structSPVRTPFXRenderPass.html#o2">eCameraPosition</a>;
<a name="l00211"></a><a class="code" href="structSPVRTPFXRenderPass.html#o3">00211</a>     <span class="keywordtype">char</span>*               <a class="code" href="structSPVRTPFXRenderPass.html#o3">pszSemanticName</a>;
<a name="l00212"></a><a class="code" href="structSPVRTPFXRenderPass.html#o4">00212</a>     <a class="code" href="PVRTPFXParser_8h.html#a1">PixelType</a>           <a class="code" href="structSPVRTPFXRenderPass.html#o4">eFormat</a>;
<a name="l00213"></a><a class="code" href="structSPVRTPFXRenderPass.html#o5">00213</a>     <a class="code" href="structPVRTVec3.html">PVRTVec3</a>            <a class="code" href="structSPVRTPFXRenderPass.html#o5">vecPos</a>;
<a name="l00214"></a><a class="code" href="structSPVRTPFXRenderPass.html#o6">00214</a>     <span class="keywordtype">char</span>                *<a class="code" href="structSPVRTPFXRenderPass.html#o6">pszNodeName</a>;
00215 
00216     
<a name="l00217"></a><a class="code" href="structSPVRTPFXRenderPass.html#a0">00217</a>     <a class="code" href="structSPVRTPFXRenderPass.html#a0">SPVRTPFXRenderPass</a>()
00218     :
00219     <a class="code" href="structSPVRTPFXRenderPass.html#o0">i32TextureNumber</a>(0),
00220     <a class="code" href="structSPVRTPFXRenderPass.html#o3">pszSemanticName</a>(NULL),
00221     <a class="code" href="structSPVRTPFXRenderPass.html#o5">vecPos</a>(0,0,0),
00222     <a class="code" href="structSPVRTPFXRenderPass.html#o6">pszNodeName</a>(NULL)
00223 
00224     {
00225     }
00226 
<a name="l00227"></a><a class="code" href="structSPVRTPFXRenderPass.html#a1">00227</a>     <a class="code" href="structSPVRTPFXRenderPass.html#a1">~SPVRTPFXRenderPass</a>()
00228     {
00229         <span class="keywordflow">if</span>(<a class="code" href="structSPVRTPFXRenderPass.html#o3">pszSemanticName</a>) <span class="keyword">delete</span>[] <a class="code" href="structSPVRTPFXRenderPass.html#o3">pszSemanticName</a>;
00230         <span class="keywordflow">if</span>(<a class="code" href="structSPVRTPFXRenderPass.html#o6">pszNodeName</a>)     <span class="keyword">delete</span>[] <a class="code" href="structSPVRTPFXRenderPass.html#o6">pszNodeName</a>;
00231     }
00232 };
00233 
00234 <span class="comment">/*!**************************************************************************</span>
00235 <span class="comment">@Struct SPVRTPFXParserEffect</span>
00236 <span class="comment">@Brief  Stores effect information</span>
00237 <span class="comment">****************************************************************************/</span>
<a name="l00238"></a><a class="code" href="structSPVRTPFXParserEffect.html">00238</a> <span class="keyword">struct </span><a class="code" href="structSPVRTPFXParserEffect.html">SPVRTPFXParserEffect</a>
00239 {
<a name="l00240"></a><a class="code" href="structSPVRTPFXParserEffect.html#o0">00240</a>     <span class="keywordtype">char</span>                        *pszName;
<a name="l00241"></a><a class="code" href="structSPVRTPFXParserEffect.html#o1">00241</a>     <span class="keywordtype">char</span>                        *<a class="code" href="structSPVRTPFXParserEffect.html#o1">pszAnnotation</a>;
00242 
<a name="l00243"></a><a class="code" href="structSPVRTPFXParserEffect.html#o2">00243</a>     <span class="keywordtype">char</span>                        *<a class="code" href="structSPVRTPFXParserEffect.html#o2">pszVertexShaderName</a>;
<a name="l00244"></a><a class="code" href="structSPVRTPFXParserEffect.html#o3">00244</a>     <span class="keywordtype">char</span>                        *<a class="code" href="structSPVRTPFXParserEffect.html#o3">pszFragmentShaderName</a>;
00245 
<a name="l00246"></a><a class="code" href="structSPVRTPFXParserEffect.html#o4">00246</a>     <a class="code" href="structSPVRTPFXParserSemantic.html">SPVRTPFXParserSemantic</a>          *<a class="code" href="structSPVRTPFXParserEffect.html#o4">psUniform</a>;
<a name="l00247"></a><a class="code" href="structSPVRTPFXParserEffect.html#o5">00247</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>                <a class="code" href="structSPVRTPFXParserEffect.html#o5">nNumUniforms</a>, <a class="code" href="structSPVRTPFXParserEffect.html#o6">nMaxUniforms</a>;
00248 
<a name="l00249"></a><a class="code" href="structSPVRTPFXParserEffect.html#o7">00249</a>     <a class="code" href="structSPVRTPFXParserSemantic.html">SPVRTPFXParserSemantic</a>          *<a class="code" href="structSPVRTPFXParserEffect.html#o7">psAttribute</a>;
<a name="l00250"></a><a class="code" href="structSPVRTPFXParserEffect.html#o8">00250</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>                <a class="code" href="structSPVRTPFXParserEffect.html#o8">nNumAttributes</a>, <a class="code" href="structSPVRTPFXParserEffect.html#o9">nMaxAttributes</a>;
00251 
<a name="l00252"></a><a class="code" href="structSPVRTPFXParserEffect.html#o10">00252</a>     <a class="code" href="structSPVRTPFXParserEffectTexture.html">SPVRTPFXParserEffectTexture</a> *<a class="code" href="structSPVRTPFXParserEffect.html#o10">psTextures</a>;
<a name="l00253"></a><a class="code" href="structSPVRTPFXParserEffect.html#o11">00253</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>                <a class="code" href="structSPVRTPFXParserEffect.html#o11">nNumTextures</a>, <a class="code" href="structSPVRTPFXParserEffect.html#o12">nMaxTextures</a>;
00254 };
00255 
00256 <span class="keyword">class </span>CPVRTPFXParserReadContext;
00257 
00258 <span class="comment">/*!**************************************************************************</span>
00259 <span class="comment">@Class CPVRTPFXParser</span>
00260 <span class="comment">@Brief PFX parser</span>
00261 <span class="comment">****************************************************************************/</span>
<a name="l00262"></a><a class="code" href="classCPVRTPFXParser.html">00262</a> <span class="keyword">class </span><a class="code" href="classCPVRTPFXParser.html">CPVRTPFXParser</a>
00263 {
00264 <span class="keyword">public</span>:
00265     <span class="comment">/*!***************************************************************************</span>
00266 <span class="comment">    @Function           CPVRTPFXParser</span>
00267 <span class="comment">    @Description        Sets initial values.</span>
00268 <span class="comment">    *****************************************************************************/</span>
00269     <a class="code" href="classCPVRTPFXParser.html#a0">CPVRTPFXParser</a>();
00270 
00271     <span class="comment">/*!***************************************************************************</span>
00272 <span class="comment">    @Function           ~CPVRTPFXParser</span>
00273 <span class="comment">    @Description        Frees memory used.</span>
00274 <span class="comment">    *****************************************************************************/</span>
00275     <a class="code" href="classCPVRTPFXParser.html#a1">~CPVRTPFXParser</a>();
00276 
00277     <span class="comment">/*!***************************************************************************</span>
00278 <span class="comment">    @Function           ParseFromMemory</span>
00279 <span class="comment">    @Input              pszScript       PFX script</span>
00280 <span class="comment">    @Output             pReturnError    error string</span>
00281 <span class="comment">    @Return             EPVRTError      PVR_SUCCESS for success parsing file</span>
00282 <span class="comment">                                        PVR_FAIL if file doesn't exist or is invalid</span>
00283 <span class="comment">    @Description        Parses a PFX script from memory.</span>
00284 <span class="comment">    *****************************************************************************/</span>
00285     <a class="code" href="PVRTError_8h.html#a5">EPVRTError</a> <a class="code" href="classCPVRTPFXParser.html#a2">ParseFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> pszScript, <a class="code" href="classCPVRTString.html">CPVRTString</a> * <span class="keyword">const</span> pReturnError);
00286 
00287     <span class="comment">/*!***************************************************************************</span>
00288 <span class="comment">    @Function           ParseFromFile</span>
00289 <span class="comment">    @Input              pszFileName     PFX file name</span>
00290 <span class="comment">    @Output             pReturnError    error string</span>
00291 <span class="comment">    @Return             EPVRTError      PVR_SUCCESS for success parsing file</span>
00292 <span class="comment">                                        PVR_FAIL if file doesn't exist or is invalid</span>
00293 <span class="comment">    @Description        Reads the PFX file and calls the parser.</span>
00294 <span class="comment">    *****************************************************************************/</span>
00295     <a class="code" href="PVRTError_8h.html#a5">EPVRTError</a> <a class="code" href="classCPVRTPFXParser.html#a3">ParseFromFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> pszFileName, <a class="code" href="classCPVRTString.html">CPVRTString</a> * <span class="keyword">const</span> pReturnError);
00296 
00297     <span class="comment">/*!***************************************************************************</span>
00298 <span class="comment">     @Function          SetViewportSize</span>
00299 <span class="comment">     @Input             uiWidth             New viewport width</span>
00300 <span class="comment">     @Input             uiHeight            New viewport height</span>
00301 <span class="comment">     @Return            bool                True on success             </span>
00302 <span class="comment">     @Description       Allows the current viewport size to be set. This value</span>
00303 <span class="comment">                        is used for calculating relative texture resolutions                        </span>
00304 <span class="comment">    *****************************************************************************/</span>
00305     <span class="keywordtype">bool</span> <a class="code" href="classCPVRTPFXParser.html#a4">SetViewportSize</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uiWidth, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uiHeight);
00306 
00307     <span class="comment">/*!***************************************************************************</span>
00308 <span class="comment">    @Function           DebugDump</span>
00309 <span class="comment">    @Return             string A string containing debug information for the user</span>
00310 <span class="comment">                        to handle</span>
00311 <span class="comment">    @Description        Debug output.</span>
00312 <span class="comment">    *****************************************************************************/</span>
00313     <a class="code" href="classCPVRTString.html">CPVRTString</a> <a class="code" href="classCPVRTPFXParser.html#a5">DebugDump</a>() <span class="keyword">const</span>;
00314 
00315 
00316     <a class="code" href="structSPVRTPFXParserHeader.html">SPVRTPFXParserHeader</a>    <a class="code" href="classCPVRTPFXParser.html#o0">m_sHeader</a>;
00317 
00318     <a class="code" href="structSPVRTPFXParserTexture.html">SPVRTPFXParserTexture</a>   *<a class="code" href="classCPVRTPFXParser.html#o1">m_psTexture</a>;
00319     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>            <a class="code" href="classCPVRTPFXParser.html#o2">m_nNumTextures</a>, <a class="code" href="classCPVRTPFXParser.html#o3">m_nMaxTextures</a>;
00320 
00321     <a class="code" href="structSPVRTPFXParserShader.html">SPVRTPFXParserShader</a>    *<a class="code" href="classCPVRTPFXParser.html#o4">m_psFragmentShader</a>;
<a name="l00322"></a><a class="code" href="classCPVRTPFXParser.html#o0">00322</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>            <a class="code" href="classCPVRTPFXParser.html#o5">m_nNumFragShaders</a>, <a class="code" href="classCPVRTPFXParser.html#o6">m_nMaxFragShaders</a>;
00323     <a class="code" href="structSPVRTPFXParserShader.html">SPVRTPFXParserShader</a>    *<a class="code" href="classCPVRTPFXParser.html#o7">m_psVertexShader</a>;
<a name="l00324"></a><a class="code" href="classCPVRTPFXParser.html#o1">00324</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>            <a class="code" href="classCPVRTPFXParser.html#o8">m_nNumVertShaders</a>, <a class="code" href="classCPVRTPFXParser.html#o9">m_nMaxVertShaders</a>;
<a name="l00325"></a><a class="code" href="classCPVRTPFXParser.html#o2">00325</a> 
00326     <a class="code" href="structSPVRTPFXParserEffect.html">SPVRTPFXParserEffect</a>    *<a class="code" href="classCPVRTPFXParser.html#o10">m_psEffect</a>;
<a name="l00327"></a><a class="code" href="classCPVRTPFXParser.html#o4">00327</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>            <a class="code" href="classCPVRTPFXParser.html#o11">m_nNumEffects</a>, <a class="code" href="classCPVRTPFXParser.html#o12">m_nMaxEffects</a>;
<a name="l00328"></a><a class="code" href="classCPVRTPFXParser.html#o5">00328</a> 
<a name="l00329"></a><a class="code" href="classCPVRTPFXParser.html#o7">00329</a>     <a class="code" href="structSPVRTPFXRenderPass.html">SPVRTPFXRenderPass</a>      *<a class="code" href="classCPVRTPFXParser.html#o13">m_psRenderPasses</a>;
<a name="l00330"></a><a class="code" href="classCPVRTPFXParser.html#o8">00330</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>            <a class="code" href="classCPVRTPFXParser.html#o14">m_nNumRenderPasses</a>, <a class="code" href="classCPVRTPFXParser.html#o15">m_nMaxRenders</a>;
00331 
<a name="l00332"></a><a class="code" href="classCPVRTPFXParser.html#o10">00332</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>            <a class="code" href="classCPVRTPFXParser.html#o16">m_uiViewportWidth</a>, <a class="code" href="classCPVRTPFXParser.html#o17">m_uiViewportHeight</a>;
<a name="l00333"></a><a class="code" href="classCPVRTPFXParser.html#o11">00333</a> 
00334 <span class="keyword">private</span>:
<a name="l00335"></a><a class="code" href="classCPVRTPFXParser.html#o13">00335</a>     CPVRTPFXParserReadContext   *m_psContext;
<a name="l00336"></a><a class="code" href="classCPVRTPFXParser.html#o14">00336</a> 
00337     <span class="comment">/*!***************************************************************************</span>
<a name="l00338"></a><a class="code" href="classCPVRTPFXParser.html#o16">00338</a> <span class="comment">    @Function           Parse</span>
00339 <span class="comment">    @Output             pReturnError    error string</span>
00340 <span class="comment">    @Return             bool            true for success parsing file</span>
00341 <span class="comment">    @Description        Parses a loaded PFX file.</span>
00342 <span class="comment">    *****************************************************************************/</span>
00343     <span class="keywordtype">bool</span> Parse( <a class="code" href="classCPVRTString.html">CPVRTString</a> * <span class="keyword">const</span> pReturnError);
00344 
00345     <span class="comment">/*!***************************************************************************</span>
00346 <span class="comment">    @Function           ReduceWhitespace</span>
00347 <span class="comment">    @Output             line        output text</span>
00348 <span class="comment">    @Input              line        input text</span>
00349 <span class="comment">    @Description        Reduces all white space characters in the string to one</span>
00350 <span class="comment">                        blank space.</span>
00351 <span class="comment">    *****************************************************************************/</span>
00352     <span class="keywordtype">void</span> ReduceWhitespace(<span class="keywordtype">char</span> *line);
00353 
00354     <span class="comment">/*!***************************************************************************</span>
00355 <span class="comment">    @Function           GetEndTag</span>
00356 <span class="comment">    @Input              pszTagName      tag name</span>
00357 <span class="comment">    @Input              nStartLine      start line</span>
00358 <span class="comment">    @Output             pnEndLine       line end tag found</span>
00359 <span class="comment">    @Return             true if tag found</span>
00360 <span class="comment">    @Description        Searches for end tag pszTagName from line nStartLine.</span>
00361 <span class="comment">                        Returns true and outputs the line number of the end tag if</span>
00362 <span class="comment">                        found, otherwise returning false.</span>
00363 <span class="comment">    *****************************************************************************/</span>
00364     <span class="keywordtype">bool</span> GetEndTag(<span class="keyword">const</span> <span class="keywordtype">char</span> *pszTagName, <span class="keywordtype">int</span> nStartLine, <span class="keywordtype">int</span> *pnEndLine);
00365 
00366     <span class="comment">/*!***************************************************************************</span>
00367 <span class="comment">     @Function          ReturnParameter</span>
00368 <span class="comment">     @Output            </span>
00369 <span class="comment">     @Input             </span>
00370 <span class="comment">     @Description       Finds the parameter after the specified delimiting character and</span>
00371 <span class="comment">                        returns the parameter as a string. An empty string is returned</span>
00372 <span class="comment">                        if a parameter cannot be found</span>
00373 <span class="comment">                        </span>
00374 <span class="comment">    *****************************************************************************/</span>
00375     <a class="code" href="classCPVRTString.html">CPVRTString</a> FindParameter(<span class="keywordtype">char</span> *aszSourceString, <span class="keyword">const</span> <a class="code" href="classCPVRTString.html">CPVRTString</a> &amp;parameterTag, <span class="keyword">const</span> <a class="code" href="classCPVRTString.html">CPVRTString</a> &amp;delimiter);
00376 
00377     <span class="comment">/*!***************************************************************************</span>
00378 <span class="comment">     @Function          ProcessKeywordParam</span>
00379 <span class="comment">     @Input             parameterString     Parameter string to process</span>
00380 <span class="comment">     @Return                                Returns true on success</span>
00381 <span class="comment">     @Description       Processes the node name or vector position parameters that</span>
00382 <span class="comment">                        can be assigned to render pass keywords (e.g. ENVMAPCUBE=(11.0, 22.0, 0.0))</span>
00383 <span class="comment">                        </span>
00384 <span class="comment">    *****************************************************************************/</span>
00385     <span class="keywordtype">bool</span> ProcessKeywordParam(<span class="keyword">const</span> <a class="code" href="classCPVRTString.html">CPVRTString</a> &amp;parameterString);
00386 
00387     <span class="comment">/*!***************************************************************************</span>
00388 <span class="comment">    @Function           ParseHeader</span>
00389 <span class="comment">    @Input              nStartLine      start line number</span>
00390 <span class="comment">    @Input              nEndLine        end line number</span>
00391 <span class="comment">    @Output             pReturnError    error string</span>
00392 <span class="comment">    @Return             bool            true if parse is successful</span>
00393 <span class="comment">    @Description        Parses the HEADER section of the PFX file.</span>
00394 <span class="comment">    *****************************************************************************/</span>
00395     <span class="keywordtype">bool</span> ParseHeader(<span class="keywordtype">int</span> nStartLine, <span class="keywordtype">int</span> nEndLine, <a class="code" href="classCPVRTString.html">CPVRTString</a> * <span class="keyword">const</span> pReturnError);
00396 
00397     <span class="comment">/*!***************************************************************************</span>
00398 <span class="comment">    @Function           ParseTextures</span>
00399 <span class="comment">    @Input              nStartLine      start line number</span>
00400 <span class="comment">    @Input              nEndLine        end line number</span>
00401 <span class="comment">    @Output             pReturnError    error string</span>
00402 <span class="comment">    @Return             bool            true if parse is successful</span>
00403 <span class="comment">    @Description        Parses the TEXTURE section of the PFX file.</span>
00404 <span class="comment">    *****************************************************************************/</span>
00405     <span class="keywordtype">bool</span> ParseTextures(<span class="keywordtype">int</span> nStartLine, <span class="keywordtype">int</span> nEndLine, <a class="code" href="classCPVRTString.html">CPVRTString</a> * <span class="keyword">const</span> pReturnError);
00406 
00407     <span class="comment">/*!***************************************************************************</span>
00408 <span class="comment">    @Function           ParseShader</span>
00409 <span class="comment">    @Input              nStartLine      start line number</span>
00410 <span class="comment">    @Input              nEndLine        end line number</span>
00411 <span class="comment">    @Output             pReturnError    error string</span>
00412 <span class="comment">    @Output             shader          shader data object</span>
00413 <span class="comment">    @Input              pszBlockName    name of block in PFX file</span>
00414 <span class="comment">    @Return             bool            true if parse is successful</span>
00415 <span class="comment">    @Description        Parses the VERTEXSHADER or FRAGMENTSHADER section of the</span>
00416 <span class="comment">                        PFX file.</span>
00417 <span class="comment">    *****************************************************************************/</span>
00418     <span class="keywordtype">bool</span> ParseShader(<span class="keywordtype">int</span> nStartLine, <span class="keywordtype">int</span> nEndLine, <a class="code" href="classCPVRTString.html">CPVRTString</a> *pReturnError, <a class="code" href="structSPVRTPFXParserShader.html">SPVRTPFXParserShader</a> &amp;shader, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> pszBlockName);
00419 
00420     <span class="comment">/*!***************************************************************************</span>
00421 <span class="comment">    @Function           ParseSemantic</span>
00422 <span class="comment">    @Output             semantic        semantic data object</span>
00423 <span class="comment">    @Input              nStartLine      start line number</span>
00424 <span class="comment">    @Output             pReturnError    error string</span>
00425 <span class="comment">    @Return             bool            true if parse is successful</span>
00426 <span class="comment">    @Description        Parses a semantic.</span>
00427 <span class="comment">    *****************************************************************************/</span>
00428     <span class="keywordtype">bool</span> ParseSemantic(<a class="code" href="structSPVRTPFXParserSemantic.html">SPVRTPFXParserSemantic</a> &amp;semantic, <span class="keyword">const</span> <span class="keywordtype">int</span> nStartLine, <a class="code" href="classCPVRTString.html">CPVRTString</a> * <span class="keyword">const</span> pReturnError);
00429 
00430     <span class="comment">/*!***************************************************************************</span>
00431 <span class="comment">    @Function           ParseEffect</span>
00432 <span class="comment">    @Output             effect          effect data object</span>
00433 <span class="comment">    @Input              nStartLine      start line number</span>
00434 <span class="comment">    @Input              nEndLine        end line number</span>
00435 <span class="comment">    @Output             pReturnError    error string</span>
00436 <span class="comment">    @Return             bool            true if parse is successful</span>
00437 <span class="comment">    @Description        Parses the EFFECT section of the PFX file.</span>
00438 <span class="comment">    *****************************************************************************/</span>
00439     <span class="keywordtype">bool</span> ParseEffect(<a class="code" href="structSPVRTPFXParserEffect.html">SPVRTPFXParserEffect</a> &amp;effect, <span class="keyword">const</span> <span class="keywordtype">int</span> nStartLine, <span class="keyword">const</span> <span class="keywordtype">int</span> nEndLine, <a class="code" href="classCPVRTString.html">CPVRTString</a> * <span class="keyword">const</span> pReturnError);
00440 
00441 };
00442 
00443 
00444 <span class="preprocessor">#endif </span><span class="comment">/* _PVRTPFXPARSER_H_ */</span>
00445 
00446 <span class="comment">/*****************************************************************************</span>
00447 <span class="comment"> End of file (PVRTPFXParser.h)</span>
00448 <span class="comment">*****************************************************************************/</span>
00449 
</pre></div><br>
<br>
<P align=left><FONT size=2><STRONG><A 
   href="http://www.imgtec.com/powervr/insider/legal/index.asp">Copyright</A> � 
   1999-2008, Imagination Technologies Ltd.</STRONG></FONT></P>
<hr>
<address style="align: left;"><small><FONT color=f0f>
Generated by <a href="http://www.doxygen.org/index.html">DOXYGEN</a> 1.3.6</small></address>
</body>
</html>
